﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using DevExpress.XtraBars;
using System.Data.Linq;
using System.Linq;
using QuanLyThuVien.BUS;
using QuanLyThuVien.DTO;

namespace QuanLyThuVien
{
    public partial class frmThuQuy : DevExpress.XtraBars.Ribbon.RibbonForm
    {
        public frmThuQuy()
        {
            InitializeComponent();

        }

        // ham nhan data tu form Dang Nhap
        int madn;
        frmDangnhap frmDNhap = new frmDangnhap();
        public void funData(TextBox txtForm1, frmDangnhap frmDN)
        {
            madn = int.Parse(txtForm1.Text);
            frmDNhap = frmDN;
        }

        
        
        private void btncheck_Click(object sender, EventArgs e)
        {
            if (tbMaDG.Text == "")
            {
                MessageBox.Show("Bạn chưa nhập mã độc giả!!", "thong bao");
                return;
 
            }
            NorthwindDataContext cnn = new NorthwindDataContext();
            string ten = DocGiaBUS.LayTenDocGia(int.Parse(tbMaDG.Text));

            if (ten == null)
            {
                MessageBox.Show("Khong co Ma Doc Gia nay, vui long kiem tra lai!!", "thong bao");
                return;
            }
            DataTable dt = new DataTable();
            dt = SoGhiNoBUS.DocGiaNo(int.Parse(tbMaDG.Text));
            for (int i = 0; i < dt.Rows.Count;i++ )
            {
                tbHoTen.Text = dt.Rows[i]["HoTenDocGia"].ToString();
                tbtienno.Text = dt.Rows[i]["TongNo"].ToString();
            }
        }

        private void frmThuQuy_Load(object sender, EventArgs e)
        {
            this.WindowState = System.Windows.Forms.FormWindowState.Maximized;
            //hien thi len ten dang nhap
            NhanVien nv = NhanVienBUS.ThongTin_NhanVien(madn);
            txtTenDangNhap.Text = nv.HoTenNhanVien;

            NorthwindDataContext cnn = new NorthwindDataContext();
            var sql = (from n in cnn.NhanViens
                      where n.MaNhanVien == madn
                      select n.HoTenNhanVien).Max();
            tbNguoithutien.Text = sql.ToString();


        }

        private void btnghinhan_Click(object sender, EventArgs e)
        {
            if (tbMaDG.Text == "" || tbHoTen.Text == "" || tbtienno.Text == "" || tbtienthu.Text == "")
            {
                MessageBox.Show("Bạn chưa điền đầy đủ thông tin","Thông báo");
                return;
            }
            NorthwindDataContext cnn = new NorthwindDataContext();
            DataTable dt = new DataTable();
            dt = SoGhiNoBUS.LayTongNoVaMaSoGhiNo(int.Parse(tbMaDG.Text));
            
            PhieuThuTienPhatDTO pt = new PhieuThuTienPhatDTO();
            SoGhiNoDTO sn = new SoGhiNoDTO();
            for (int i = 0; i < dt.Rows.Count;i++ )
            {
                //insert bảng phiếu thu tiền phạt
                pt.SoTienThu1 = int.Parse(tbtienthu.Text);
                if (pt.SoTienThu1 < 0)
                {
                    MessageBox.Show("Số tiền thu phải lớn hơn 0","Thông Báo");
                    return;
                }
                if( pt.SoTienThu1 > int.Parse(tbtienno.Text))
                {
                    MessageBox.Show("Số tiền thu phải nhỏ hơn số tiền nợ", "Thông Báo");
                    return;
                }
                pt.ConLai1 = float.Parse(dt.Rows[i]["TongNo"].ToString()) - float.Parse(tbtienthu.Text); ;
                pt.MaSoGhiNo1 = int.Parse(dt.Rows[i]["MaSoGhiNo"].ToString());
                pt.MaNhanVien1 = madn;
                pt.NgayThuTienPhat1 = dtngaythu.Value.Date;
                PhieuThuTienPhatBUS.LapPhieuThuTienPhat(pt);

                //sửa dữ liệu bảng sổ ghi nợ
                sn.MaSoGhiNo1 = int.Parse(dt.Rows[i]["maSoGhiNo"].ToString());
                sn.TongNo1 = pt.ConLai1;
                SoGhiNoBUS.SuaPhieuNo(sn);

                tbconlai.Text = pt.ConLai1.ToString();
                MessageBox.Show("Ghi Nhận Thành Công","Thông Báo");
            }
        }

        private void lbltimkiemsach_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)
        {
            frmTimKiemSach frm = new frmTimKiemSach();
            frm.ShowDialog();
        }

    

        private void btnreset_Click(object sender, EventArgs e)
        {
            tbMaDG.Text = "";
            tbHoTen.Text = "";
            tbtienno.Text = "";
            tbtienthu.Text = "";
            tbconlai.Text = "";
        }

        private void btnthoat_Click(object sender, EventArgs e)
        {
            Close();
            frmDNhap.Close();
        }

        private void lblHuongdan_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)
        {
            Help.ShowHelp(this, "Huongdan.chm");
        }

    }
}